🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / app / src / main / java / com / geeksville / mesh / ui / common / components / DropDownPreference.kt
Displaying Raw • Download
app/src/main/java/com/geeksville/mesh/ui/common/components/DropDownPreference.kt ui_message_list (be3f882f) Text, 5.19 KB
T8b949e/*
* Copyright (c) 2025 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787com.geeksville.mesh.ui.common.components
Tff7b72import T7ee787androidx.compose.foundation.background
Tff7b72import T7ee787androidx.compose.material.icons.Icons
Tff7b72import T7ee787androidx.compose.material.icons.twotone.KeyboardArrowDown
Tff7b72import T7ee787androidx.compose.material.icons.twotone.KeyboardArrowUp
Tff7b72import T7ee787androidx.compose.material3.DropdownMenu
Tff7b72import T7ee787androidx.compose.material3.DropdownMenuItem
Tff7b72import T7ee787androidx.compose.material3.MaterialTheme
Tff7b72import T7ee787androidx.compose.material3.Text
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.getValue
Tff7b72import T7ee787androidx.compose.runtime.mutableStateOf
Tff7b72import T7ee787androidx.compose.runtime.remember
Tff7b72import T7ee787androidx.compose.runtime.setValue
Tff7b72import T7ee787androidx.compose.ui.Modifier
Tff7b72import T7ee787androidx.compose.ui.graphics.Color
Tff7b72import T7ee787androidx.compose.ui.res.stringResource
Tff7b72import T7ee787androidx.compose.ui.text.style.TextOverflow
Tff7b72import T7ee787androidx.compose.ui.tooling.preview.Preview
Tff7b72import T7ee787com.geeksville.mesh.R
Tff7b72import T7ee787com.google.protobuf.ProtocolMessageEnum
Tf0883e@Composable
Tff7b72fun Tff7b72<Te6edf3T Tb4b4b4: Te6edf3Enum<Te6edf3TTff7b72>> Td2a8ffDropDownPreferenceTb4b4b4(
Te6edf3titleTb4b4b4: Tffa657StringTb4b4b4,
Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3selectedItemTb4b4b4: Te6edf3TTb4b4b4,
Te6edf3onItemSelectedTb4b4b4: Tb4b4b4(Te6edf3TTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4,
Te6edf3summaryTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3DropDownPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3titleTb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3enabledTb4b4b4,
Te6edf3items Tff7b72= Te6edf3selectedItemTb4b4b4.Te6edf3declaringJavaClassTb4b4b4.Te6edf3enumConstants
Tff7b72?.Te6edf3filter Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3name Tff7b72!Tff7b72= Ta5d6ff"Ta5d6ffUNRECOGNIZEDTa5d6ff" Tb4b4b4}Tff7b72?.Te6edf3map Tb4b4b4{ Tffa657it Te6edf3to Tffa657itTb4b4b4.Te6edf3name Tb4b4b4} Tff7b72?: Te6edf3emptyListTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3selectedItem Tff7b72= Te6edf3selectedItemTb4b4b4,
Te6edf3onItemSelected Tff7b72= Te6edf3onItemSelectedTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4,
Te6edf3summary Tff7b72= Te6edf3summaryTb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tf0883e@Composable
Tff7b72fun Tff7b72<Te6edf3TTff7b72> Td2a8ffDropDownPreferenceTb4b4b4(
Te6edf3titleTb4b4b4: Tffa657StringTb4b4b4,
Te6edf3enabledTb4b4b4: Tffa657BooleanTb4b4b4,
Te6edf3itemsTb4b4b4: Te6edf3ListTff7b72<Te6edf3PairTff7b72<Te6edf3TTb4b4b4, Tffa657StringTff7b72>Tff7b72>Tb4b4b4,
Te6edf3selectedItemTb4b4b4: Te6edf3TTb4b4b4,
Te6edf3onItemSelectedTb4b4b4: Tb4b4b4(Te6edf3TTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4,
Te6edf3summaryTb4b4b4: Tffa657String? Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3dropDownExpanded Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTb4b4b4(Te6edf3value Tff7b72= Tff7b72falseTb4b4b4) Tb4b4b4}
Tff7b72val Te6edf3deprecatedItemsTb4b4b4: Te6edf3ListTff7b72<Te6edf3TTff7b72> Tff7b72= Te6edf3remember Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3selectedItem Tff7b72is Te6edf3ProtocolMessageEnumTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3enum Tff7b72= Tb4b4b4(Te6edf3selectedItem Tff7b72as? Te6edf3EnumTff7b72<Tff7b72*Tff7b72>Tb4b4b4)Tff7b72?.Te6edf3declaringJavaClassTff7b72?.Te6edf3enumConstants
Tff7b72val Te6edf3descriptor Tff7b72= Tb4b4b4(Te6edf3selectedItem Tff7b72as Te6edf3ProtocolMessageEnumTb4b4b4)Tb4b4b4.Te6edf3descriptorForType
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffUNCHECKED_CASTTa5d6ff"Tb4b4b4)
Te6edf3enumTff7b72?.Te6edf3filter Tb4b4b4{ Te6edf3entries Tff7b72-Tff7b72>
Te6edf3descriptorTb4b4b4.Te6edf3valuesTb4b4b4.Te6edf3any Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3name Tff7b72=Tff7b72= Te6edf3entriesTb4b4b4.Te6edf3name Tff7b72&Tff7b72& Tffa657itTb4b4b4.Te6edf3optionsTb4b4b4.Te6edf3deprecated Tb4b4b4}
Tb4b4b4} Tff7b72as? Te6edf3ListTff7b72<Te6edf3TTff7b72> Tff7b72?: Te6edf3emptyListTb4b4b4(Tb4b4b4) T8b949e// Safe cast to List<T> or return emptyList if cast fails
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3emptyListTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Te6edf3RegularPreferenceTb4b4b4(
Te6edf3title Tff7b72= Te6edf3titleTb4b4b4,
Te6edf3subtitle Tff7b72= Te6edf3itemsTb4b4b4.Te6edf3find Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3first Tff7b72=Tff7b72= Te6edf3selectedItem Tb4b4b4}Tff7b72?.Te6edf3second
Tff7b72?: Te6edf3stringResourceTb4b4b4(Te6edf3id Tff7b72= Te6edf3RTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3unrecognizedTb4b4b4)Tb4b4b4,
Te6edf3onClick Tff7b72= Tb4b4b4{
Te6edf3dropDownExpanded Tff7b72= Tff7b72true
Tb4b4b4}Tb4b4b4,
Te6edf3enabled Tff7b72= Te6edf3enabledTb4b4b4,
Te6edf3trailingIcon Tff7b72= Tff7b72if Tb4b4b4(Te6edf3dropDownExpandedTb4b4b4) Tb4b4b4{
Te6edf3IconsTb4b4b4.Te6edf3TwoToneTb4b4b4.Te6edf3KeyboardArrowUp
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3IconsTb4b4b4.Te6edf3TwoToneTb4b4b4.Te6edf3KeyboardArrowDown
Tb4b4b4}Tb4b4b4,
Te6edf3summary Tff7b72= Te6edf3summaryTb4b4b4,
Te6edf3dropdownMenu Tff7b72= Tb4b4b4{
Te6edf3DropdownMenuTb4b4b4(
Te6edf3expanded Tff7b72= Te6edf3dropDownExpandedTb4b4b4,
Te6edf3onDismissRequest Tff7b72= Tb4b4b4{ Te6edf3dropDownExpanded Tff7b72= Tff7b72!Te6edf3dropDownExpanded Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3itemsTb4b4b4.Te6edf3filterNot Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3first Tff7b72in Te6edf3deprecatedItems Tb4b4b4}Tb4b4b4.Te6edf3forEach Tb4b4b4{ Te6edf3item Tff7b72-Tff7b72>
Te6edf3DropdownMenuItemTb4b4b4(
Te6edf3onClick Tff7b72= Tb4b4b4{
Te6edf3dropDownExpanded Tff7b72= Tff7b72false
Te6edf3onItemSelectedTb4b4b4(Te6edf3itemTb4b4b4.Te6edf3firstTb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3modifier
Tb4b4b4.Te6edf3backgroundTb4b4b4(
Te6edf3color Tff7b72= Tff7b72if Tb4b4b4(Te6edf3selectedItem Tff7b72=Tff7b72= Te6edf3itemTb4b4b4.Te6edf3firstTb4b4b4) Tb4b4b4{
Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3primaryTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3alpha Tff7b72= T79c0ff0.3fTb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3ColorTb4b4b4.Te6edf3Unspecified
Tb4b4b4}Tb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3text Tff7b72= Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Te6edf3itemTb4b4b4.Te6edf3secondTb4b4b4,
Te6edf3overflow Tff7b72= Te6edf3TextOverflowTb4b4b4.Te6edf3EllipsisTb4b4b4,
Te6edf3maxLines Tff7b72= T79c0ff1Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4)
Tb4b4b4}
Tf0883e@PreviewTb4b4b4(Te6edf3showBackground Tff7b72= Tff7b72trueTb4b4b4)
Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffDropDownPreferencePreviewTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3DropDownPreferenceTb4b4b4(
Te6edf3title Tff7b72= Ta5d6ff"Ta5d6ffSettingsTa5d6ff"Tb4b4b4,
Te6edf3summary Tff7b72= Ta5d6ff"Ta5d6ffLorem ipsum dolor sit ametTa5d6ff"Tb4b4b4,
Te6edf3enabled Tff7b72= Tff7b72trueTb4b4b4,
Te6edf3items Tff7b72= Te6edf3listOfTb4b4b4(Ta5d6ff"Ta5d6ffTEST1Ta5d6ff" Te6edf3to Ta5d6ff"Ta5d6fftext1Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffTEST2Ta5d6ff" Te6edf3to Ta5d6ff"Ta5d6fftext2Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3selectedItem Tff7b72= Ta5d6ff"Ta5d6ffTEST2Ta5d6ff"Tb4b4b4,
Te6edf3onItemSelected Tff7b72= Tb4b4b4{Tb4b4b4}
Tb4b4b4)
Tb4b4b4}
Served by rngit 1.5.1 - Generated in 0.06s